package com.xxl.job.core.biz;

import com.xxl.job.core.biz.model.*;

/**
 * 服务端调用客户端
 * 也是两个实现类
 *
 * Created by xuxueli on 17/3/1.
 */
public interface ExecutorBiz {

    /**
     * 心跳
     * @return
     */
    public ReturnT<String> beat();

    /**
     * idle beat
     * 判断传递的任务id里面是否在执行，忙碌转移的时候回有用
     * @param idleBeatParam
     * @return
     */
    public ReturnT<String> idleBeat(IdleBeatParam idleBeatParam);

    /**
     * run 发送需要执行的任务，核心方法
     * @param triggerParam
     * @return
     */
    public ReturnT<String> run(TriggerParam triggerParam);

    /**
     * kill 取消任务的执行
     * @param killParam
     * @return
     */
    public ReturnT<String> kill(KillParam killParam);

    /**
     * log
     * 写日志
     * @param logParam
     * @return
     */
    public ReturnT<LogResult> log(LogParam logParam);

}
